gusucode.com > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM源码程序 > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM\stprtool\svm\smo.m

    % SMO Sequential Minimal Optimization for SVM (L1).
% [Alpha,bias,nsv,kercnt,trnerr,margin]=smo(data,labels,ker,arg,C)
%
% [...]=smo(data,labels,ker,arg,C,eps,tol,Alpha,bias )
%
%  To make executable file run 'mex smo.c kernel.c'.
%
% Obligatory input:
%  data [DxN] N training patterns in D-dimensional space.
%  labels [1xN] labels of training patterns (1 - 1st, 2 - 2nd class ).
%  ker [string] identifier of kernel: 'linear', 'poly', 'rbf'.
%  arg [...] argument of the kernel: no meaning for 'linear', 
%    degree of polynomial for 'poly', parameter sigma for 'rbf'.
%  C [real] or [2 x real] one trade-off constant for both the classes
%    or two constants for the first and the second class.
%  bias [real] initial value of the threshold. If not given then SMO
%    starts from bias = 0.
%
% Optional input:
%  eps [real] tolerance of KKT-conditions fulfilment (default 0.001).
%  tol [real] minimal change of optimized Lagrangeians (default 0.001).
%  Alpha [1xN] initial values of optimized Lagrangeians. If not given
%    then SMO starts from Alpha = zeros(1,N) and bias=0.
%
% Mandatory outputs:
%  Alpha [1 x N] found Lagrangeian multipliers.
%  bias [real] found bias.
%
% Optional outputs:
%  nsv [real] number of Support Vectors (number of Alpha > ZERO_LIM).
%  kercnt [int] number of kernel evalutions.
%  trnerr [real] classification error on training data.
%  margin [real] margin between classes and the found hyperplane.
%
% See also SMOKER, SVMCLASS2.
%

% Statistical Pattern Recognition Toolbox, Vojtech Franc, Vaclav Hlavac
% (c) Czech Technical University Prague, http://cmp.felk.cvut.cz.
%
% Modifications:
% 26-Nov-2001, V.Franc
% 23-Oct-2001, V.Franc
% 21-Oct-2001, V.Franc
% 16-October-2001, V.Franc
% 30-September-2001, V.Franc, comments.
% 26-September-2001, V.Franc, comments changed
% 19-September-2001, V. Franc, computation of nsv and nerr added.
% 17-September-2001, V. Franc, created